package org.example.spring_book.mapper;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.example.spring_book.model.BookInfo;
import org.example.spring_book.model.PageRequest;

import java.awt.print.Book;
import java.util.List;

@Mapper
public interface BookInfoMapper {
    //添加图书
    @Insert("insert into book_info(book_name,author,count,price,publish)"+
            "values (#{bookName},#{author},#{count},#{price},#{publish})")
    Integer insertBook(BookInfo bookInfo);
    //查询总数
    @Select("select count(1) from book_info where states<>0")
    Integer count();
    //查询当前页的数据
    @Select("select * from book_info where states <>0 order by id desc limit #{offset},#{pageSize}")
    List<BookInfo> queryListByPage(PageRequest pageRequest);
    //根据ID查询图书信息
    @Select("select * from book_info where states <>0 and id=#{id}")
    BookInfo queryBookById(Integer id);

    //根据ID修改图书信息
    Integer updateBook(BookInfo bookInfo);
    //批量删除图书
    Integer batchDelete(List<Integer> ids);
}